/**
 * 给你一个单链表的头节点 head ，请你判断该链表是否为回文链表。如果是，返回 true ；否则，返回 false 。

 

示例 1：


输入：head = [1,2,2,1]
输出：true
示例 2：


输入：head = [1,2]
输出：false

来源：力扣（LeetCode）
链接：https://leetcode.cn/problems/palindrome-linked-list
著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
 */

/**
 * @param {ListNode} head
 * @return {boolean}
 */
var isPalindrome = function (head) {
    //将链表的值放到数组中
    // 一共为两个步骤：

    // 复制链表值到数组列表中。
    // 使用双指针法判断是否为回文。
    let vals = []
    while (head) {
        vals.push(head.val)
        head = head.next
    }

    let start = 0;
    let end = vals.length - 1

    for (start; start < end / 2; start++) {
        if (vals[start] !== vals[end - start]) {
            return false
        }
    }
    return true
};